home *** CD-ROM | disk | FTP | other *** search
-
- A P A C H E I N S T A L L A T I O N
-
- NOTE: Windows users please read the documents ../README.NT and
- http://www.apache.org/docs/windows.html, (or the
- htdocs/manual/windows.html file included with Apache).
- The following applies only to Unix users.
-
- Installing the Apache 1.3 HTTP server with APACI
- ================================================
-
- For the out-of-the-box build and installation through the new Apache
- Autoconf-style Interface (APACI) see the file INSTALL in the parent
- directory. This document describes only the manual way of installing Apache.
-
- Installing the Apache 1.3 HTTP server manually
- ==============================================
-
- Unless you grabbed a binary distribution of Apache, you must compile it for
- your specific platform. In order to compile it, you must set compile-time
- options (in particular, system type) for your system by editing a
- Configuration file, run a script which generates a Makefile and a small
- piece of C code, and then compile it.
-
- Compilation
- -----------
-
- Building the Apache Web server absolutely REQUIRES an ANSI C-compliant
- compiler. If your compiler does not meet this requirement, don't even
- bother trying to build the server; it won't work. The server may or may not
- build correctly with a C++ compiler. Making it compilable with C++ is not a
- goal at this point, so if it doesn't work please use a normal ANSI C
- compiler instead.
-
- This release of Apache supports the notion of "optional modules". However,
- the server has to know which modules are compiled into it, in order for
- those modules to be effective; this requires generation of a short bit of
- code ("modules.c") which simply has a list of them.
-
- It is also necessary to choose the correct options for your platform.
-
- To do this:
-
- 1) Copy the file "Configuration.tmpl" to "Configuration" and then edit
- "Configuration". This contains the list and settings of various "Rules"
- and an additional section at the bottom which lists the modules which
- have been compiled in, and also names the files containing them. You
- will need to:
-
- a) Adjust the Rules and EXTRA_CFLAGS|LIBS|LDFLAGS|INCLUDES if
- you feel so inclined.
-
- b) Uncomment lines corresponding to those optional modules you wish to
- include (among the Module lines at the bottom of the file), or add new
- lines corresponding to custom modules you have written. (See API.html
- for preliminary docs on how to do that).
-
- Note that DBM auth has to be explicitly configured in, if you want it ---
- just uncomment the corresponding line.
-
- 2) Run the "Configure" script:
-
- $ ./Configure
- Using config file: Configuration
- Creating Makefile
- + configured for <whatever> platform
- + setting C compiler to <whatever>
- + Adding selected modules
- + doing sanity check on compiler and options
- Creating Makefile in support
- Creating Makefile in main
- Creating Makefile in os/unix
- Creating Makefile in modules/standard
- $ _
-
- This generates new versions of the Makefiles and of modules.c. (If you
- want to maintain multiple configurations, you can say, e.g.,
-
- $ ./Configure -file Configuration.ai
- Using config file: Configuration.ai
- Creating Makefile
- + configured for <whatever> platform
- + setting C compiler to <whatever>
- + Adding selected modules
- + doing sanity check on compiler and options
- Creating Makefile in support
- Creating Makefile in main
- Creating Makefile in os/unix
- Creating Makefile in modules/standard
- $ _
-
- 3) Now compile the program:
-
- $ make
-
- The modules we place in the Apache distribution are the ones we have tested
- and are used regularly by various members of the Apache development group.
- Additional modules contributed by members or third parties with specific
- needs or functions are available at
- http://www.apache.org/dist/contrib/modules/. There are instructions
- on that page for linking these modules into the core Apache code.
-
- If during compilation you get a warning about a missing 'regex.h', set
- WANTHSREGEX=yes in the 'Configuration', and let The Apache Group know you
- needed to do this for your OS by filling out a problem report form at
- http://bugs.apache.org/, or by sending a mail message to
- apache-bugs@apache.org. Include the output of the command "uname -a".
-
- Installation
- ------------
-
- After compilation, you will have a binary called "httpd" in this src/
- directory. If you received a binary distribution of apache, you should have
- this file already.
-
- The next step is to edit the configuration files for the server. In the
- top-level subdirectory called "conf" you should find distribution versions
- of the three configuration files: srm.conf-dist, access.conf-dist, and
- httpd.conf-dist. Copy them to srm.conf, access.conf, httpd.conf
- respectively.
-
- First edit httpd.conf. This sets up general attributes about the server -
- the port number, the user it runs as, etc. Next edit the srm.conf file -
- this sets up the root of the document tree, special functions like
- server-parsed HTML or internal imagemap parsing, etc. Finally, edit the
- access.conf file to at least set the base cases of access. Documentation for
- all of these is located at http://www.apache.org/docs/.
-
- Finally, make a call to httpd, with a -f to the full path to the httpd.conf
- file. I.e., the common case:
-
- $ /usr/local/apache/httpd -f /usr/local/apache/conf/httpd.conf
-
- And voila! The server should be running.
-
- By default the srm.conf and access.conf files are located by name - to
- specifically call them by other names, use the AccessConfig and
- ResourceConfig directives in httpd.conf.
-
- Set your system time properly!
-
- Proper operation of a public web server requires accurate time
- keeping, since elements of the HTTP protocol are expressed as the time
- of day. So, it's time to investigate setting up NTP or some other
- time synchronization system on your Unix box, or whatever the
- equivalent on NT would be.
-
- Upgrading an Existing Apache Environment
- ----------------------------------------
-
- Between releases of Apache, there are several files that are likely to get
- changed (aside from the source, of course). These include:
-
- src/Makefile.tmpl
- src/Configuration.tmpl
- src/Configure
- conf/*.conf-dist
- conf/mime.types
-
- It's recommended that you unpack a new Apache version distribution into a
- different directory than the existing one, and check these files against the
- ones you already have for new or changed directives. It's almost certain
- that the Configure, Configuration.tmpl, and Makefile.tmpl files are going to
- change, so pay particular attention to merging your existing Configuration
- settings with the ones in the Configuration.tmpl file to make a new
- Configuration file in the new Apache src directory. Then follow the steps
- for a new installation to build and test the new server before replacing the
- existing Apache directory tree with the one from the new distribution.
-
-